#include "gd32f4xx.h"
#include "systick.h"
#include <stdio.h>
#include "./LED/LED.h"
#include "./KEY/KEY.h"
#include "./USART/USART.h"
#include "./OLED/oled.h"




uint8_t batarry_mod=0;//电池充电模式0为停止充电，1为正在充电
uint8_t batarry_value=5;//电池电量

int main(void) {

	uint8_t key,i;

	systick_config();
	Led_Init();
	Key_Init();
	USART_Init();

	OLED_Init();
	OLED_Clear();
	
	while(1) {
	OLED_ShowString(0, 0, "START",16, 1);

	key=Key_Scan();
		
	if(key==KEY1_Press){
		batarry_mod=1;//KEY1按下表示正在充电状态
	}
	if(key==KEY2_Press){
		batarry_mod=0;//KEY2按下表示电量停止充电
	}
	if(key==KEY3_Press){
		batarry_value+=15;//KEY3按下模拟电池充电
		if(batarry_value>=80)batarry_value=80;
		printf("batarry_value=%d\r\n",batarry_value);
	}
	if((batarry_mod==1)){
		if( batarry_value<10){
			Led_Water(1);

		}
		if(batarry_value>=10 && batarry_value<20){
			Led_Water(2);


		}
		if(batarry_value>=20 && batarry_value<30){
			Led_Water(3);


		}
		if(batarry_value>=30 && batarry_value<40){
			Led_Water(4);


		}
		if(batarry_value>=40 && batarry_value<50){			
			Led_Water(5);


		}
		if(batarry_value>=50 && batarry_value<60){
			Led_Water(6);


		}
		if(batarry_value>=60 && batarry_value<70){
			Led_Water(7);

		}
		if(batarry_value>=70 && batarry_value<80){
			Led_Water(8);

		}
		if(batarry_value>=80)batarry_mod=0;
		}else if((batarry_mod==0)){
		Led_Allon();delay_1ms(200);
		Led_Alloff();delay_1ms(200);

		Led_Allon();delay_1ms(200);
		Led_Alloff();delay_1ms(200);

		Led_Allon();delay_1ms(200);
		Led_Alloff();delay_1ms(200);
		batarry_mod=2;
	}
		if(RX_FLAG>0 &&usart_flag_get(USART0,USART_FLAG_IDLE)){
		for(i=0;i<RX_FLAG;i++){
			send_byte(RX_BUF[i]);
		}
		RX_FLAG=0;
		}	
	}
}

